package com.qf.conf;

import com.qf.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.stereotype.Component;

/**
 * @Configuration 标注当前类为配置类
 *      在配置类中，可以通过@Bean注解，向spring容器中注入一些对象
 *      Configuration注解修饰的配置类优先于Component注解修饰的配置加载，所以实际开发中，使用Configuration注解修饰的配置类
 * @Import 导入需要向spring容器中注入对象的类型
 *      ① 导入的是一个普通的类，那么他向spring容器中注入的就是导入的这个类的实例对象 ---> @Import(User.class)
 *      ② 导入的是一个ImportSelector类,那么他向spring容器中注入的对象是通过ImportSelector中获取的
 *      ③ 导入的是一个ImportBeanDefinitionRegistrar类，那么他向spring容器中注入的对象是通过ImportBeanDefinitionRegistrar中获取的
 *
 */
//@Configuration
//@Import(User.class)
////@Import(MyImportSelector.class)
//@Import(MyImportBeanDefinitionRegistrar.class)
public class BeanConfig {

    //向spring容器中注入一个User对象
    @Bean
    public User user(){
        User user = new User();
        user.setName("zs");
        user.setAge(18);
        return user;
    }

}
